package com.rybbaby.tss.platform.sysSmsLog.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.Version;

/**
 * @description 短信记录
 * 
 * @author 谢进伟
 * 
 * @createDate 2016-11-23 下午11:12:52
 */
@Entity
@Table(name = "sys_sms_log")
@DynamicUpdate(true)
@DynamicInsert(true)
public class SysSmsLog implements Serializable {
	
	private static final long serialVersionUID = 53080865352413L;
	
	/** 主键 **/
	private String id;
	/** 手机号 **/
	private String phoneNumber;
	/** 内容 **/
	private String content;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 发送时间 **/
	private java.sql.Timestamp sendTime;
	/** 重发时间 **/
	private java.sql.Timestamp resendTime;
	/** 短信平台 **/
	private String smsPlatform;
	/** 状态(1:待发送，2：已发送，3：发送失败，4：重发成功，5：重发失败) **/
	private Integer status;
	/** 重发次数 **/
	private Integer reSendCount;
	/** 是否重发 **/
	private Boolean isReSend;
	/** 版本 **/
	private Integer version;
	
	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "sys_sms_logIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "sys_sms_logIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}
	
	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}
	
	/**
	 * 方法: 取得手机号
	 *
	 * @return java.lang.String 手机号
	 */
	@Column(name = "phoneNumber", nullable= true, length = 11)
	public String getPhoneNumber() {
		return this.phoneNumber;
	}
	
	/**
	 * 方法: 设置手机号
	 *
	 * @param phoneNumber 手机号
	 */
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}
	
	/**
	 * 方法: 取得内容
	 *
	 * @return java.lang.String 内容
	 */
	@Column(name = "content", nullable= true, length = 100)
	public String getContent() {
		return this.content;
	}
	
	/**
	 * 方法: 设置内容
	 *
	 * @param content 内容
	 */
	public void setContent(String content) {
		this.content = content;
	}
	
	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}
	
	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}
	
	/**
	 * 方法: 取得发送时间
	 *
	 * @return java.sql.Timestamp 发送时间
	 */
	@Column(name = "sendTime", nullable= true, length = 19)
	public java.sql.Timestamp getSendTime() {
		return this.sendTime;
	}
	
	/**
	 * 方法: 设置发送时间
	 *
	 * @param sendTime 发送时间
	 */
	public void setSendTime(java.sql.Timestamp sendTime) {
		this.sendTime = sendTime;
	}
	
	/**
	 * 方法: 取得重发时间
	 *
	 * @return java.sql.Timestamp 重发时间
	 */
	@Column(name = "resendTime", nullable= true, length = 19)
	public java.sql.Timestamp getResendTime() {
		return this.resendTime;
	}
	
	/**
	 * 方法: 设置重发时间
	 *
	 * @param resendTime 重发时间
	 */
	public void setResendTime(java.sql.Timestamp resendTime) {
		this.resendTime = resendTime;
	}
	
	/**
	 * 方法: 取得短信平台
	 *
	 * @return java.lang.String 短信平台
	 */
	@Column(name = "smsPlatform", nullable= true, length = 50)
	public String getSmsPlatform() {
		return this.smsPlatform;
	}
	
	/**
	 * 方法: 设置短信平台
	 *
	 * @param smsPlatform 短信平台
	 */
	public void setSmsPlatform(String smsPlatform) {
		this.smsPlatform = smsPlatform;
	}
	
	/**
	 * 方法: 取得状态
	 *
	 * @return java.lang.Integer 状态
	 */
	@Column(name = "status", nullable= true, length = 11)
	public Integer getStatus() {
		return this.status;
	}

	@Column(name = "reSendCount", nullable= true, length = 11)
	public Integer getReSendCount() {
		return reSendCount;
	}

	public void setReSendCount(Integer reSendCount) {
		this.reSendCount = reSendCount;
	}

	/**
	 * 方法: 设置状态
	 *
	 * @param status 状态
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}
	
	/**
	 * 方法: 取得是否重发
	 *
	 * @return java.lang.Boolean 是否重发
	 */
	@Column(name = "isReSend", nullable= true, length = 1)
	public Boolean getIsReSend() {
		return this.isReSend;
	}
	
	/**
	 * 方法: 设置是否重发
	 *
	 * @param isReSend 是否重发
	 */
	public void setIsReSend(Boolean isReSend) {
		this.isReSend = isReSend;
	}
	
	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}
	
	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}
}